package com.bh.order.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.bh.common.annotation.Excel;
import com.bh.common.core.domain.BhtmsBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.util.Date;

/**
 * 订单收发货方对象 jc_order_receivingparty
 *
 * @author slx
 * @date 2023-04-22
 */
@ApiModel("订单收发货方对象")
@EqualsAndHashCode(callSuper = true)
@TableName("jc_order_receivingparty")
@Data
public class JcOrderReceivingParty extends BhtmsBaseEntity implements Serializable {
    

    /**
     * 地址
     */
    @ApiModelProperty("地址")
    @Excel(name = "地址")
    private String address;

    /**
     * 地址类型
     */
    @ApiModelProperty("地址类型")
    @Excel(name = "地址类型")
    private String addressType;

    /**
     * 联系人
     */
    @ApiModelProperty("联系人")
    @Excel(name = "联系人")
    private String contactperson;

    /**
     * 电话
     */
    @ApiModelProperty("电话")
    @Excel(name = "电话")
    private String iphone;

    /**
     * 经纬度
     */
    @ApiModelProperty("经纬度")
    @Excel(name = "经纬度")
    private String ltl;

    /**
     * 排序
     */
    @Excel(name = "排序")
    private Integer orderby;

    /**
     * 收还是发 0是发货方 1是收货方
     */
    @ApiModelProperty("收还是发 0是发货方 1是收货方")
    @Excel(name = "收还是发 0是发货方 1是收货方")
    private Integer type;

    /**
     * 所属订单
     */
    @ApiModelProperty("所属订单id")
    @Excel(name = "所属订单")
    private Long jcOrderId;

    /**
     * 行政区域
     */
    @ApiModelProperty("行政区域id")
    @Excel(name = "行政区域")
    private Long jcZoneId;


    @ApiModelProperty("服务区域id")
    private Long jcServerZoneId;

    /**
     * 详细地址
     */
    @ApiModelProperty("详细地址")
    @Excel(name = "详细地址")
    private String detaileAddress;


    /**
     * 实际到达时间
     */
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "实际到达时间", width = 30, dateFormat = "yyyy-MM-dd  HH:mm:ss")
    private Date factArriveTime;

    /**
     * 实际发运时间
     */
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "实际发运时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date factLeaveTime;

    /**
     * 要求发运时间
     */
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "要求发运时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planLeaveTime;

    /**
     * 要求到达时间
     */
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd")
    @Excel(name = "要求到达时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date requireArriveTime;


    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("createName", getCreateName())
                .append("createTime", getCreateTime())
                .append("description", getDescription())
               
                .append("modifyName", getModifyName())
                .append("modifyTime", getModifyTime())
                .append("name", getName())
                .append("status", getStatus())
                .append("address", getAddress())
                .append("contactperson", getContactperson())
                .append("factArriveTime", getFactArriveTime())
                .append("factLeaveTime", getFactLeaveTime())
                .append("iphone", getIphone())
                .append("ltl", getLtl())
                .append("orderby", getOrderby())
                .append("planLeaveTime", getPlanLeaveTime())
                .append("requireArriveTime", getRequireArriveTime())
                .append("type", getType())
                .append("jcOrderId", getJcOrderId())
                .append("jcZoneId", getJcZoneId())
                .append("detaileAddress", getDetaileAddress())
                .toString();
    }
}
